home *** CD-ROM | disk | FTP | other *** search
- // ipxnet.h
-
- typedef struct
- {
- char private[512];
- } doomdata_t;
-
-
- #include "DoomNet.h"
-
- //===========================================================================
-
- #define NUMPACKETS 10 // max outstanding packets before loss
-
-
- // setupdata_t is used as doomdata_t during setup
- typedef struct
- {
- short gameid; // so multiple games can setup at once
- short drone;
- short nodesfound;
- short nodeswanted;
- } setupdata_t;
-
-
-
- typedef unsigned char BYTE;
- typedef unsigned short WORD;
- typedef unsigned long LONG;
-
- typedef struct IPXPacketStructure
- {
- WORD PacketCheckSum; /* high-low */
- WORD PacketLength; /* high-low */
- BYTE PacketTransportControl;
- BYTE PacketType;
-
- BYTE dNetwork[4]; /* high-low */
- BYTE dNode[6]; /* high-low */
- BYTE dSocket[2]; /* high-low */
-
- BYTE sNetwork[4]; /* high-low */
- BYTE sNode[6]; /* high-low */
- BYTE sSocket[2]; /* high-low */
- } IPXPacket;
-
-
- typedef struct
- {
- BYTE network[4]; /* high-low */
- BYTE node[6]; /* high-low */
- } localadr_t;
-
- typedef struct
- {
- BYTE node[6]; /* high-low */
- } nodeadr_t;
-
- typedef struct ECBStructure
- {
- WORD Link[2]; /* offset-segment */
- WORD ESRAddress[2]; /* offset-segment */
- BYTE InUseFlag;
- BYTE CompletionCode;
- WORD ECBSocket; /* high-low */
- BYTE IPXWorkspace[4]; /* N/A */
- BYTE DriverWorkspace[12]; /* N/A */
- BYTE ImmediateAddress[6]; /* high-low */
- WORD FragmentCount; /* low-high */
-
- WORD fAddress[2]; /* offset-segment */
- WORD fSize; /* low-high */
- } ECB;
-
-
- // time is used by the communication driver to sequence packets returned
- // to DOOM when more than one is waiting
-
- typedef struct
- {
- ECB ecb;
- IPXPacket ipx;
-
- long time;
- doomdata_t data;
- } packet_t;
-
-
- extern doomcom_t doomcom;
- extern int gameid;
-
- extern nodeadr_t nodeadr[MAXNETNODES+1];
- extern int localnodenum;
-
- extern long localtime; // for time stamp in packets
- extern long remotetime; // timestamp of last packet gotten
-
- extern nodeadr_t remoteadr;
-
- void Error (char *error, ...);
-
-
- void InitNetwork (void);
- void ShutdownNetwork (void);
- void SendPacket (int destination);
- int GetPacket (void);
- int CheckParm (char *check);
-
- void PrintAddress (nodeadr_t *adr, char *str);
-